///*     */
//package com.test.sky.sync.multi.data.source.utils;
///*     */
//
//import cn.hutool.http.HttpUtil;
///*     */ import cn.hutool.json.JSONObject;
///*     */ import java.time.DayOfWeek;
///*     */ import java.time.LocalDate;
///*     */ import java.time.format.DateTimeFormatter;
///*     */ import java.util.Collections;
///*     */ import java.util.HashMap;
///*     */ import java.util.HashSet;
///*     */ import java.util.Map;
///*     */ import java.util.Set;
//
///*     */
///*     */ public class HolidayUtils {
//    /*  14 */   private static final Map<Integer, Set<LocalDate>> HOLIDAY_CACHE = new HashMap<>();
//    /*     */
//    /*  16 */   private static final Map<Integer, Set<LocalDate>> WORKDAY_CACHE = new HashMap<>();
//    /*     */
//    /*     */
//    /*     */
//    /*     */   private static final String HOLIDAY_API = "https://timor.tech/api/holiday/year/";
//
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    public static boolean isHolidayOrWeekend(String date) {
//        /*  26 */
//        LocalDate localDate = LocalDate.parse(date, DateTimeFormatter.ISO_LOCAL_DATE);
//        /*  27 */
//        return isHolidayOrWeekend(localDate);
//        /*     */
//    }
//
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    public static boolean isHolidayOrWeekend(LocalDate date) {
//        /*  37 */
//        DayOfWeek dayOfWeek = date.getDayOfWeek();
//        /*  38 */
//        if (dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY) {
//            /*  39 */
//            return true;
//            /*     */
//        }
//        /*     */
//        /*     */
//        /*     */
//        try {
//            /*  44 */
//            loadHolidayDataIfNeeded(date.getYear());
//            /*  45 */
//            return ((Set) HOLIDAY_CACHE.get(Integer.valueOf(date.getYear()))).contains(date);
//            /*  46 */
//        } catch (Exception e) {
//            /*  47 */
//            System.err.println("获取节假日数据失败，使用默认判断逻辑: " + e.getMessage());
//            /*  48 */
//            return false;
//            /*     */
//        }
//        /*     */
//    }
//
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    public static boolean isWorkingDay(LocalDate date) {
//        /*     */
//        try {
//            /*  59 */
//            loadHolidayDataIfNeeded(date.getYear());
//            /*  60 */
//            return ((Set) WORKDAY_CACHE.get(Integer.valueOf(date.getYear()))).contains(date);
//            /*  61 */
//        } catch (Exception e) {
//            /*  62 */
//            System.err.println("获取调休数据失败，使用默认判断逻辑: " + e.getMessage());
//            /*  63 */
//            return false;
//            /*     */
//        }
//        /*     */
//    }
//
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    private static void loadHolidayDataIfNeeded(int year) {
//        /*  72 */
//        if (HOLIDAY_CACHE.containsKey(Integer.valueOf(year)) && WORKDAY_CACHE.containsKey(Integer.valueOf(year))) {
//            /*     */
//            return;
//            /*     */
//        }
//        /*     */
//        /*  76 */
//        synchronized (HolidayUtils.class) {
//            /*  77 */
//            if (!HOLIDAY_CACHE.containsKey(Integer.valueOf(year)) || !WORKDAY_CACHE.containsKey(Integer.valueOf(year))) {
//                /*  78 */
//                fetchAndCacheHolidayData(year);
//                /*     */
//            }
//            /*     */
//        }
//        /*     */
//    }
//
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    /*     */
//    private static void fetchAndCacheHolidayData(int year) {
//        /*     */
//        try {
//            /*  89 */
//            String apiUrl = "https://timor.tech/api/holiday/year/" + year;
//            /*  90 */
//            String response = HttpUtil.get(apiUrl);
//            /*  91 */
//            JSONObject json = JSONUtil.parseObj(response);
//            /*     */
//            /*  93 */
//            if (!"0".equals(json.getStr("code"))) {
//                /*  94 */
//                throw new RuntimeException("获取节假日数据失败，错误码: " + json.getStr("code"));
//                /*     */
//            }
//            /*     */
//            /*  97 */
//            JSONObject holidayInfo = json.getJSONObject("holiday");
//            /*  98 */
//            Set<LocalDate> holidays = new HashSet<>();
//            /*  99 */
//            Set<LocalDate> workdays = new HashSet<>();
//            /*     */
//            /* 101 */
//            for (Object key : holidayInfo.keySet()) {
//                /* 102 */
//                JSONObject dayInfo = holidayInfo.getJSONObject(key.toString());
//                /* 103 */
//                LocalDate date = LocalDate.parse(dayInfo.getStr("date"), DateTimeFormatter.ISO_LOCAL_DATE);
//                /*     */
//                /*     */
//                /* 106 */
//                int type = dayInfo.getInt("type", Integer.valueOf(0)).intValue();
//                /* 107 */
//                if (type == 2) {
//                    /* 108 */
//                    holidays.add(date);
//                    continue;
//                    /* 109 */
//                }
//                if (type == 3) {
//                    /* 110 */
//                    workdays.add(date);
//                    /*     */
//                }
//                /*     */
//            }
//            /*     */
//            /* 114 */
//            HOLIDAY_CACHE.put(Integer.valueOf(year), holidays);
//            /* 115 */
//            WORKDAY_CACHE.put(Integer.valueOf(year), workdays);
//            /* 116 */
//        } catch (Exception e) {
//            /* 117 */
//            System.err.println("获取" + year + "年节假日数据异常: " + e.getMessage());
//            /*     */
//            /* 119 */
//            HOLIDAY_CACHE.put(Integer.valueOf(year), Collections.emptySet());
//            /* 120 */
//            WORKDAY_CACHE.put(Integer.valueOf(year), Collections.emptySet());
//            /* 121 */
//            throw e;
//            /*     */
//        }
//        /*     */
//    }
//
//    /*     */
//    /*     */
//    /*     */
//    public static void main(String[] args) {
//        /* 127 */
//        System.out.println("2025-06-26 是否为节假日或周末: " + isHolidayOrWeekend("2025-06-01"));
//        /*     */
//    }
//    /*     */
//}
//
//
///* Location:              D:\li.sun\code\sky_app_proxy-0.0.1-SNAPSHOT\BOOT-INF\classes\!\com\test\sky\sync\multi\data\sourc\\utils\HolidayUtils.class
// * Java compiler version: 8 (52.0)
// * JD-Core Version:       1.1.3
// */